home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Tampa Bay Amiga Group / TBAG - Tampa Bay Amiga Group's Disk of the Month #65 (1992)(Merlin's Software - Amiganuts United)(PD).zip / TBAG - Tampa Bay Amiga Group's Disk of the Month #65 (1992)(Merlin's Software - Amiganuts United)(PD).adf / Docs / DR-Icon.docs < prev    next >
Text File  |  1992-03-13  |  47KB  |  782 lines

  1.  
  2.  
  3.                                 Doctor Icon
  4.  
  5.                                 Version 1.0
  6.  
  7.                            Created by Ray Lambert
  8.  
  9.                          Copyright 1990 Ray Lambert
  10.  
  11.  
  12.  
  13. » Introduction: A brief history of the Amiga and Workbench Icons «
  14.  
  15.     When I first got my Amiga I was excited.  The machine seemed to have
  16. everything.  The graphics and the sound were fantastic -- better than
  17. anything else on the market.  The CLI interface was similar to what I had
  18. used in the past (MS-DOS) which shortened the learning curve for me.  And
  19. the graphical interface, Workbench, was so intuitive it seemed I knew it
  20. before I had even used it for the first time.  It wasn't long before I had
  21. gotten into more advanced things some of which required new icons for
  22. Workbench.  Much to my disappointment, I quickly found that creating icons
  23. for the Workbench was not nearly as easy as using it was.
  24.     I was somewhat dismayed at this discovery -- an interface that relies so
  25. heavily on such things as icons should certainly allow the everyday user to
  26. easily create and manipulate them.  The supplied program "IconEd" was simply
  27. not sufficient.
  28.     For example, to create an icon of a particular type, IconEd required
  29. that the user load an already existing icon of the desired type.  It allowed
  30. editing of the icon's image and certain other parameters, and then it would
  31. allow you to save the new icon to disk with a different name.  If there was
  32. no icon of the desried type around the user was out of luck.  Finding an
  33. existing icon of the desired type could prove to be rather difficult for new
  34. users who weren't sufficiently familiar with the system.  Further
  35. complicating the matter was the annoying lack of documentation of such
  36. things, eg.  "How do you discover what an icon's type is?"; "How do you find
  37. an icon of a particular type?"; "What does a 'Tool'-type icon do?"; etc.  I
  38. certainly never received any manuals which explained these things.
  39.     While IconEd did allow icon images from other icons to be imported and
  40. copied to your icon, it did not allow importing of images drawn elsewhere --
  41. for example brushes saved by the excellent paint program "Deluxe Paint".
  42.     Lastly, it did not allow the creation of "dual-image" icons (my, and
  43. nearly everyone else's, favorite type!)
  44.     Since that time many utilities have been created to help manipulate
  45. icons in ways which should have been available since the beginning.  The
  46. majority of these utilities are designed to perform a single operation such
  47. as creating an icon from an IFF brush.  Some create a simple icon of any
  48. type which can then be edited in IconEd.  Some will join two existing icons
  49. resulting in a single, dual-image icon.  All are very useful and valuable.
  50.     However, most also require the knowledge and ability to use the CLI -
  51. something which not all of us possess.  Many people prefer NOT to use the
  52. CLI - they would rather do all their computing from the Workbench.  For
  53. these people CLI utilities are effectively useless.  And even if a user does
  54. not mind "getting their hands dirty" in the CLI once in awhile, they still
  55. need to have a whole collection of little utilities to edit and create
  56. icons.  And one fact always remains; there _should_ be an easier way!
  57.     Some utilities have gone beyond the simple CLI-based, single-operation
  58. stage.  Some of these are commercial products which may cost more than most
  59. people are willing to spend.  Others are in the public domain or are
  60. "ShareWare".  Most combine the abilities of the CLI-based utilities into one
  61. uniform environment.  Many offer specialized features which for the most
  62. part are not really useful -- such as the ablity to create icons of up to
  63. sixteen colors (Workbench only uses four colors unless it is "hacked" to use
  64. more).  While the majority of these programs are very well done and
  65. certainly a far cry from what was formerly available, many continue to
  66. ignore some basic and simple features which would be very useful and few
  67. actually integrate their combined utilities.
  68.  
  69.  
  70. » Enter Doctor Icon «
  71.  
  72.     This brings us to Doctor Icon - the last word in icon editors.  Doctor
  73. Icon provides all the tools neccessary for the creation and editing of all
  74. icon types.  Doctor Icon not only combines the features of many of the
  75. CLI-based icon utilities but also integrates them into a single omni-tool.
  76. Doctor Icon covers all the bases, offering nearly every possible method for
  77. the import and export of icons and their images.  Doctor Icon allows all
  78. components of an icon to be created and/or modified.  And above all, Doctor
  79. Icon does all of this through a powerful, user-friendly interface which is
  80. equally intuitive to both the novice and the power-user alike.  Doctor Icon
  81. is the program which _should_ have come with Workbench!
  82.     
  83.     (All right so maybe that's laying it on a bit thick!  But it really is a
  84. good program...  trust me :)
  85.  
  86.  
  87. » Doctor Icon Features «
  88.  
  89.     * Runs from either CLI or Workbench; automatically detaches itself from
  90. the CLI when run from the CLI, allowing the CLI to be closed.
  91.  
  92.     * Runs in a custom screen to avoid "crowding" the Workbench screen -
  93. Doctor Icon's custom screen is a clone of the Workbench screen in medium
  94. resolution mode (sorry, no interlace).
  95.  
  96.     * Automatically loads any icon on startup from either the CLI or the
  97. Workbench (via extend-select with the SHIFT key).
  98.  
  99.     * Allows Workbench "Info"-style editing of Stack Size, Default Tool, and
  100. Tool Types.
  101.  
  102.     * Allows setting of icon's "Highlight Type"; three possible choices are:
  103. "Image", "Complement" and "Backfill".
  104.  
  105.     * Supports icons of the following type:  "Tool", "Project", "Drawer",
  106. "Garbage" and "Disk".
  107.  
  108.     * Allows editing of existing icons through "Load" and "Save" options or
  109. the creation of new icons of any type through the "New Icon" option.
  110.  
  111.     * Imports images from IFF brush files or existing icons, even the second
  112. image of dual-image icons!
  113.  
  114.     * Allows imported images to be either the first or the second image of
  115. the icon being edited.
  116.  
  117.     * Allows deletion of the images in an icon.
  118.  
  119.     * Allows swapping the first and second images of a dual-image icon.
  120.  
  121.     * Allows images belonging to the icon being edited to be previewed on
  122. both the Doctor Icon custom screen and the Workbench screen.
  123.  
  124.     * Allows editing of the spacing between an icon's image and its text
  125. label.
  126.  
  127.     * Allows the user to define the position and size of the window
  128. associated with "Drawer", "Garbage" and "Disk" icons.
  129.  
  130.     * Allows icons to be "un-Snapshotted" - this feature reverses the effect
  131. of Workbench's "Snapshot" command, allowing previously Snapshotted icons to
  132. once again "float" into Workbench's idea of the "best" position for them.
  133.  
  134.     * Allows any icon image to be saved as an IFF brush which can then be
  135. loaded into a paint program to be edited or used otherwise.
  136.  
  137.     * Uses an advanced file requester for all loading and saving.  (Please
  138. see the seperate document file describing the features of the file
  139. requester).
  140.  
  141.     * For programmers:  saves icons as "C" source code for inclusion in
  142. original programs, allowing the creation of icons for new "projects".
  143.  
  144.  
  145. « Basic Operation »
  146.  
  147.     Doctor Icon may be loaded from either CLI or Workbench.  From either
  148. environment a "Start-up Icon" may be specified.  The "Start-up Icon" will be
  149. automatically loaded by Doctor Icon.
  150.     From the CLI you may specify the "Start-up Icon" on the command line.
  151. Any valid icon name may be used.  Note that the ".info" filename extension
  152. which is given to icons is optional -- Doctor Icon will append the extension
  153. if you do not.
  154.     From Workbench you may use Workbench's extend-select feature to choose
  155. one icon to load.  To do this, first click ONCE on Doctor Icon's icon, next
  156. press and hold-down either of the SHIFT keys on the keyboard, lastly
  157. double-click on the icon that you want to edit.  (you may release the SHIFT
  158. key now :)
  159.     If no start-up icon is specified when Doctor Icon is run, it will come
  160. up in "New Icon" mode, just as if you had used the "New Icon" command.
  161.  
  162.     Doctor Icon's screen is divided into seven rectangular areas.  Each
  163. region is clearly labeled in a large font.  The most important of these is
  164. in the upper right hand corner and is called the "Control Panel".
  165.  
  166.     * The "Control Panel" contains four gadgets to perform the following
  167. functions:
  168.         1) "Load Icon" loads any existing icon from disk to be edited.  The
  169. act of choosing which icon to load is done through the file requester (which
  170. is described in a seperate document).
  171.         2) "Save Icon" saves the icon which is currenty being edited to
  172. disk.  This function will fail if the proper number of images haven't been
  173. attached to the icon.  The number of images that are needed is defined by
  174. the "Highlight Type" of the icon:  "Image" requires two images, "Complement"
  175. and "Backfill" require only one.
  176.         3) "New Icon" clears the current icon from memory allowing you to
  177. create a new icon from scratch.  Any loaded images will be lost, and most
  178. icon parameters will be set to default values.  Because of the potentially
  179. destructive nature of this command you will always be asked to verify it
  180. before it is performed.
  181.         4) "Quit" allows you to end a Doctor Icon session.  This command is
  182. also potentially destructive as you may have an icon loaded which you have
  183. edited and have forgotten to save.  Because of this you will always be asked
  184. to verify that you want to quit, giving you the opportunity to catch your
  185. mistake.
  186.  
  187.     The remaining six rectangular regions are each used to display and edit
  188. a specific icon parameter.  Following is a description of each area:
  189.  
  190.     * "Stack Size":  Icon types which, when clicked on, cause a program to
  191. be executed (namely, "Tool" and "Project" icons) allow a stack size to be
  192. defined which is normally used by the program that gets run.  The stack size
  193. that is defined in the currently loaded icon is always displayed in a small
  194. rectangular box in this area.  If you wish to change the stack size, simply
  195. click in the box and use the editing keys to change the value.  (This is a
  196. normal Intuition string gadget).  Please note that you _must_ press RETURN
  197. when you are finished editing the stack size or your change will not be
  198. saved with the icon.
  199.  
  200.     * "Default Tool":  "Project" and "Disk" type icons require a "Default
  201. Tool".  The "Default Tool" that is defined in the currently loaded icon is
  202. always displayed in a small rectangular box in this area.  If you wish to
  203. change the "Default Tool", simply click in the box and use the editing keys
  204. to change the value.  (This is a normal Intuition string gadget).
  205.  
  206.     * "Tool Types":  All icon types may have "Tool Types" values defined
  207. within them.  "Tool Types" are analogous to the command line parameters
  208. which are used in the CLI environment -- they are optional arguments or
  209. parameters that are fed to the tool (or program) that is associated with the
  210. icon containing the tool types.  There is no known limit to the number of
  211. tool types that an icon may have, however, Doctor Icon does enforce a
  212. practical limit of 50 (which should be far more than enough!).  Just to the
  213. right of the "Tool Types" label is a "tool types counter display" which
  214. indicates the number of tool types that are currently defined and the number
  215. of the currently displayed one.  If there are 5 tool types defined and
  216. number 3 is currently visible the display will read "(3/5)", meaning "You
  217. are viewing tool type number 3 out of a total of 5".  When there are no tool
  218. types defined the display reads "(0/0)".  Below the "Tool Types" label is a
  219. small control panel that allows you to manipulate the tool types.  The tool
  220. types control panel contains four buttons.  The first button is labeled
  221. "Add", and it allows you to add one additional tool types definition to the
  222. total (assuming there are less than the limit; 50).  When there are no tool
  223. types defined, the remaining three buttons are disabled and their labels are
  224. unreadable.  When there are no tool types defined and you click on the "Add"
  225. button the tool types counter display will change to "(1/1)" (viewing #1 of
  226. 1), the cursor will appear in the tool types text area at the very bottom of
  227. the tool types area, and the second of the three buttons on the control
  228. panel will become visible.  The second button says "Delete" - it will delete
  229. the currently displayed tool type.  The third and fourth buttons are labeled
  230. with up and down arrows respectively.  They are not visible unless there are
  231. two or more tool types defined.  Their purpose is to allow you to scroll
  232. through the list of tool types.  The up arrow will move you closer to the
  233. top (number one) while the down arrow moves closer to the bottom of the
  234. list.  To edit the definition of any of the defined tool types you should
  235. first cause that one to be visible in the text area.  Using the arrow and
  236. the "Add" buttons will automatically cause the cursor to appear in the text
  237. area allowing you to begin editing immediately.  If the cursor is not there
  238. however, simply click in the text box with the mouse.  The tool types text
  239. area is a normal Intuition string gadget.  If you are familiar with
  240. Workbench's "Info" command, then you will notice that Doctor Icon's Tool
  241. Types editing panel works in a manner almost identical to Info's, the only
  242. functional difference being the addition of the Tool Types Counter Display.
  243.  
  244.     * "Highlight Type":  When you click on an icon its appearance must
  245. change in order to demonstrate that it has actually been selected.  There
  246. are three different types of highlighting that may be used in an icon.  This
  247. selection panel allows you to choose which method you desire for your icon
  248. and also to view which type is currently being used:
  249.         1) "Image":  This highlighting type is used to make "dual-image" or
  250. "animated" icons.  It requires that a second image be attached to the icon.
  251. When the user clicks on the icon, Workbench draws the secondary image on top
  252. of the primary.  If the two images are drawn properly this action can appear
  253. as simple animation (see Doctor Icon's Workbench icon for an example of this
  254. type of icon).  Some functions in Doctor Icon will refuse to operate on an
  255. icon which has "Image" type highlighting specified but has no second image
  256. attached.
  257.         2) "Complement":  When an icon using this highlight type is clicked
  258. on, Workbench "complements" the whole icon by drawing a solid rectangle
  259. covering its entire area.  This causes all the colors of the icon's imagery
  260. to change including the background color.  With some icons this may leave a
  261. filled area around the edges that is unsightly.
  262.         3) "Backfill":  This highlighting type is really a special version
  263. of "Complement" which does not highlight around the edges of the icon's
  264. image.  Therefore, unsightly edges are normally eliminated.  However,
  265. because of the method that Workbench uses to achieve this effect there may
  266. be another undesirable side-effect:  Workbench draws the icon's image,
  267. "complements" the image as in "Complement", and then performs an area-fill
  268. on the outside edge of the icon thereby removing the edge highlighting.  The
  269. problem is that in this mode, Workbench allows the icon to be selected only
  270. by clicking (with the mouse) on areas of the icon which are drawn in a color
  271. other than the background color, or areas that are completely enclosed by
  272. areas which are drawn in a color other than the background color.  Depending
  273. on the icon's image, it is sometimes difficult to select an icon of this
  274. type with the mouse.
  275.     For example, if you made the letters of the alphabet into icons, the
  276. letter "O" would be easy to select because you would be allowed to click
  277. anywhere on the solid portion of the "O" as well as inside the belly of it
  278. which is an enclosed area.  When the "O" is highlighted its solid portion
  279. would change color and its belly would be filled with the "complement"
  280. color.  The area around the "O" would be unchanged - this would be most
  281. notable in the corners where the "O" is curved.  You would not be able to
  282. select the "O" by clicking in this outside area.
  283.     On the other hand, the letter "I" would be difficult to select,
  284. especially if it where drawn using very thin lines.  You would only be
  285. allowed to select the "I" by clicking on its solid portion.  Clicking
  286. anywhere else would have no effect.  When you did manage to select it, only
  287. its solid portions would change color.
  288.     All other highlight types allow an icon to be selected by clicking
  289. anywhere in the rectangular area which contains the icon.  As you can see,
  290. "Backfill" presents a digression from the normal operation of Workbench
  291. icons which is not always desirable.  For a further example of the
  292. difference between the "Complement" and "Backfill" highlight types compare
  293. the "DiskCopy" icon from the "System" drawer on the "Workbench1.3" disk to
  294. the "CopyPrefs" icon from the "Prefs" drawer, also on "Workbench1.3".
  295. "DiskCopy" uses "Backfill" mode while "CopyPrefs" uses "Complement".  Notice
  296. the filled areas in the upper and lower right corners of the "CopyPrefs"
  297. icon after it gets selected.  This is the edge highlighting that I just
  298. described.  Try selecting the "DiskCopy" icon by clicking above or below the
  299. arrow in its center but in between the two disk images -- you cannot -- you
  300. must click either on the arrow or one of the two disks.  Also notice the way
  301. the arrow in the "DiskCopy" icon dissappears after highlighting - this is
  302. because the complement of the color that the arrow is drawn in is the same
  303. as the background color.  The arrow in the "CopyPrefs" icon also turns the
  304. same color as the background but it does not disappear because the area
  305. around it changes color.  You may load these icons into Doctor Icon to
  306. verify that they are using the highlight type I have said -- you may also
  307. change the highlighting type to see what will happen.  Most of the other
  308. icons on the Workbench disk use "Backfill" highlighting.  
  309.     There are many other good examples of "Backfill" -- one is the
  310. "Preferences" icon in the "Prefs" drawer.  The "Shell" icon in the root
  311. directory is also a good example -- you can select it by clicking in its
  312. center area even though that area is in the background color because it is
  313. completely enclosed.  Notice that the enclosed area changes color when you
  314. select it.
  315.     The moral of all this is simple:  "Backfill" can be very useful and much
  316. more desirable than "Complement" in some cases but please be sure when you
  317. use it that it works well with your icon's imagery.  (NOTE:  For you
  318. programmer-types out there, Workbench implements "Backfill" through extended
  319. boolean gadgets.  It appears to create a bool mask by or'ing all planes of
  320. the image into a single plane in an off-screen buffer.)
  321.  
  322.     * "Icon Type":  This selection panel allows you to view and select the
  323. "type" of the icon.  For a description of the different types please see the
  324. discussion below.
  325.  
  326.     * "Import Icon Image":  This selection panel is the main control panel
  327. for importing images into your icons.  Below the title is two columns.  The
  328. first column is labeled "From" and contains three buttons - the second is
  329. labeled "To" and contains two buttons.  A line is drawn between the two
  330. columns linking one button from the "From" column to one button from the
  331. "To" column.  This is referred to as a "patch-panel".  It allows you to
  332. easily control importing of images from multiple sources into multiple
  333. destinations.  The three sources (in the "From" column) are:
  334.         1) "IFF Brush":  Imports a standard IFF brush such as those created
  335. by "Deluxe Paint".
  336.         2) "Icon Image":  Imports the primary image from any existing icon
  337. on disk.
  338.         3) "Icon Alt.":  Imports the secondary (or alternate) image from any
  339. existing icon on disk.  Note that only icons which use "Image" highlighting
  340. (dual-image icons) actually have a secondary image -- choosing another type
  341. of icon will result in an error.
  342.  
  343.     The two possible destinations for imported images (as listed in the "To"
  344. column) are:
  345.         1) "Main Image":  Places the imported image into your icon as its
  346. primary image.
  347.         2) "Alt. Image":  Places the imported image into your icon as its
  348. secondary image.  If your icon is not currently using "Image" highlight type
  349. when you import into its "Alt. Image", its highlight type will be changed.
  350.  
  351.     To change the source or destination of an import operation simply click
  352. on the appropriate button.  When you do so the connecting line will be
  353. redrawn to reflect the new selection.  To actually perform an import
  354. operation click in the rectangular box which surrounds the words "Import
  355. Icon Image".  Besides containing the section's title, this box is also a
  356. button which is used to trigger an import operation using the source and
  357. destination defined on the patch-panel.  When you begin an import operation
  358. you will be asked to select the file to import using the file requester --
  359. this will be either an IFF brush or an existing icon.  You may import images
  360. into the same destination as many times as you like.  The old image will
  361. automatically be replaced by the new one.
  362.  
  363.     * One last area on Doctor Icon's screen that needs to be mentioned is
  364. the "Icon Name:" area at the top of the screen just under the title bar.
  365. This area always holds the current _disk_file_name_ for the icon in memory.
  366. If the file is unnamed (as it is after selecting "New Icon") this area will
  367. simply say "New".
  368.  
  369.  
  370. « Special (advanced) Operations »
  371.  
  372.     Doctor Icon uses a menu to allow selection of six special functions.
  373. These are described here:
  374.  
  375.     * "Set Drawer":  Some icon types (namely "Drawer", "Garbage" and "Disk")
  376. cause a Workbench window to be opened when they are double-clicked.  This
  377. option allows you to set the position and size of the window which will be
  378. opened.  This option will not work for icon types which do not support
  379. windows.  When you select this function with an icon of the legal type
  380. loaded, Doctor Icon will close its screen, bring the Workbench screen to the
  381. front and open a small window on it.  The window contains all the standard
  382. system gadgets (close, drag, depth and sizing) and will have a set of
  383. instructions written into it which reads:  "Adjust the size and position of
  384. this window to your satisfaction then click on the close gadget to return to
  385. Doctor Icon..." Do as it says...  position the window using the drag gadget
  386. and resize it using the sizing gadget until it is at the position and size
  387. that you want the icon's window to be at when it opens.  When you click on
  388. the close gadget the window will be closed and Doctor Icon will re-open its
  389. screen.  The small window's last position and size will be recorded in the
  390. icon when it is saved.
  391.  
  392.     * "Un-Snapshot":  Normally when Workbench draws icons into a drawer
  393. window it places them in an orderly fashion so they do not overlap each
  394. other.  When icons are such that Workbench is allowed to choose where they
  395. will be placed in a window they are thought of as "floating" icons.
  396. Workbench has an option in its menus called "Snapshot".  This feature causes
  397. all selected icons to be written back to disk with their current positions
  398. saved inside.  These icons are then referred to as "snapshotted" icons.
  399. When a drawer containing snapshotted icons is opened the snapshotted icons
  400. are placed back into their saved position.  This feature is very useful but
  401. in some cases it is undesirable.  For example, it is normally better if disk
  402. icons are "floating" so that Workbench can neatly stack them on the
  403. right-hand side of the screen.  Using the "Un-Snapshot" command you can
  404. cause an icon to "forget" its saved (snapshotted) position and once again be
  405. a "floating" icon.
  406.  
  407.     * "Preview":  This feature allows you to look at the images of an icon
  408. that you have loaded into Doctor Icon.  If there are no images loaded for
  409. the current icon this feature will not work.  When you select this option, a
  410. small window will open on Doctor Icon's screen.  The window will have the
  411. icon's primary image drawn into it.  When you click on the icon it will
  412. mimic the action that usually occurs on the real Workbench.  Clicking once
  413. will highlight the icon or display its secondary image.  Clicking twice will
  414. have no effect for icons which do not open windows, however for "Disk",
  415. "Drawer" and "Garbage" icons a window will be opened just like on Workbench.
  416. If this window is resized and/or repositioned before it is closed (using the
  417. close gadget) its last size and position will be recorded in the icon when
  418. it is saved (much like Doctor Icon's "Set Drawer" option).
  419.     The preview window has a drag bar and depth gadgets so that it can be
  420. manipulated in the same manner as all normal Intuition windows.  It also
  421. contains a small control panel which has the following commands:
  422.  
  423.     'Jump':  Causes the preview window to migrate between the Workbench
  424. screen and Doctor Icon's custom screen.  When the preview window changes
  425. screens, the screen that it migrates to will come to the front.  Note that
  426. it is not possible to move the preview window to a screen other than the
  427. Workbench screen and Doctor Icon's screen.
  428.  
  429.     'End':  Ends the preview and closes the preview window.
  430.  
  431.     'T':  Toggle the two images of a dual-image icon.  The currently
  432. displayed image is indicated in the preview window's title bar.
  433.  
  434.     Up Arrow:  Adjust the spacing between the icon image and its text by
  435. moving the text closer to the image.
  436.  
  437.     Down Arrow:  Adjust the spacing between the icon image and its text by
  438. moving the text further away from the image.
  439.  
  440.     * "Icon to IFF":  This option allows you to save one of the currently
  441. loaded icon's images as an IFF brush.  This option will not work if the
  442. current icon has no images attached to it.  If two images are attached to
  443. the icon a requester will appear asking you which image you would like to
  444. save.  When the time comes to actually save the image the file requester
  445. will appear so you can enter a file name to save the file as.
  446.  
  447.     * "Icon to C":  This option is provided for programmers who would like
  448. to have their own programs create icons to go with "projects" that their
  449. programs create.  It dumps all images and support structures to represent
  450. the icon as C source code.  The structures can be modified at runtime, for
  451. example, to allow the user to set the icon's default tool.  The icon can be
  452. written out to disk by a simple call:  PutDiskObject( (char *)icon_name,
  453. (struct DiskObject *)&the_icon );
  454.  
  455.     * "Swap Images":  This option only works with icons using "Image" type
  456. highlighting (dual image icons) and which have two images currently
  457. attached.  Just as it says, it swaps the two images so that the secondary
  458. image becomes the primary and the primary becomes the secondary.  This is
  459. especially useful if you need to delete the primary image (as explained in
  460. the following section).
  461.  
  462.  
  463. « Image Manipulation »
  464.  
  465.     Doctor Icon's image manipulation capabilities are simple, practical and
  466. functional - nothing fancy but they are sufficient to get the job done.
  467. Doctor Icon is capabale of importing, exporting, swapping, previewing and
  468. deleting images.
  469.  
  470.     * Importing Images:  The interface which allows you to import images
  471. into Doctor Icon is decribed above ("Import Icon Image").  As stated there,
  472. images can be imported from IFF brushes or other icons.  Also, imported
  473. images can be attached to the current icon as either its primary or its
  474. secondary image.  There are some limitations imposed on importing of images
  475. and those are described below in the section entitled "Limitations".
  476. Briefly, imported images are only limited by the current limitations of
  477. Workbench.
  478.  
  479.     * Exporting Images:  Two facilities exist to export images from Doctor
  480. Icon.  Images can be saved as IFF brushes (as described above under "Icon to
  481. IFF") and they can also be saved as C source code in an icon dump to C (as
  482. described above under "Icon to C").
  483.  
  484.     * Swapping Images:  Icons which have two images can have their primary
  485. and secondary images swapped (as described above under "Swap Images").
  486.  
  487.     * Previewing Images:  The images belonging to an icon can be previewed
  488. using the "Preview" option (as described above).
  489.  
  490.     * Deleting Images:  When an image is imported into an icon the icon's
  491. old image is automatically deleted.  This precludes the need for an actual
  492. "delete" command in all except one case.  Sometimes it is necessary to
  493. convert a dual-image icon into a single image icon.  To do this, one of the
  494. icon's images must be deleted.  The mechanism for doing this may not be
  495. completely obvious.  Changing the icon's highlight type from "Image" to
  496. "Complement" or "Backfill" will always cause the icon's secondary image to
  497. be deleted.  Because of the potential destructiveness of this procedure,
  498. Doctor Icon will always ask you to verify your intentions before proceeding.
  499. In some cases you may wish to delete the icon's primary image instead of its
  500. secondary image when converting to a single image icon.  This may be
  501. achieved by first using the "Swap Images" command (described above), and
  502. then changing the icon's highlight type.  When you do this, the icon's
  503. primary image (the one you wish to delete) will become its secondary image
  504. after using the "Swap Images" command, then it will be deleted when you
  505. change the highlight type of the icon, effectively resulting in a single
  506. image icon which uses the icon's former secondary image.
  507.  
  508.  
  509. « Workbench and its Icons »
  510.  
  511.     Icons are used by Workbench to represent objects which are stored on
  512. disk.  There are five icon types that Workbench supports.  Each has a
  513. specific purpose and behaves in a slightly different manner.  Each of the
  514. five types can use any of the three highlight types and each allows you to
  515. specify "Tool Types" parameters that identify particular characteristics of
  516. the object that the icon represents.  Also, some of the icon types allow you
  517. to specify a "Default Tool" and some allow you to specify a "Stack Size".
  518.     To Workbench, an application program is really a "tool".  Therefore the
  519. term "Default Tool" refers to a default application program which is to be
  520. used in the absence of a specific application program.  Some of the icon
  521. types cause a "tool" to be executed when they are selected and some of these
  522. use the "Default Tool" parameter.  In addition, those icon types which
  523. execute tools also use a "Stack Size" parameter.  The "stack" is an area
  524. which an application program uses for temporary memory storage.  All
  525. programs need and use a stack.  Workbench uses the "Stack Size" parameter to
  526. determine how large to make a program's stack.  If an icon does not specify
  527. a "Stack Size", the default is 4000 bytes.  This is usually plenty for
  528. smaller programs but will likely to be too little for larger programs.  If
  529. you have a program that crashes on you, try raising its stack size, it may
  530. be running out.  Note that programs which are run from the CLI inherit their
  531. stack size from the CLI that they are run from.  The CLI's stack size can be
  532. viewed and set using the STACK command.
  533.     Note that I have provided this brief Workbench tutorial/description
  534. because Commodore did not.  I hope that it helps those novice users who may
  535. fall into possession of it.  Following are descriptions of the five icon
  536. types used by Workbench as well as a few other Workbench-specific subjects.
  537.  
  538.     * Tools:  "Tool" icons are the most common type of icon and the
  539. simpliest to understand.  A tool icon represents a specific application
  540. program on disk, such as a word processor, and uses the same name as the
  541. application program.  When you double-click on a tool icon Workbench
  542. executes the program that the icon is associated with.  Tool icons allow the
  543. specification of a "Stack Size" but not a "Default Tool".
  544.  
  545.     * Projects:  "Project" icons are probably the second most common icon
  546. type and the most difficult to understand.  A data file created by an
  547. application program is thought of by Workbench as a "project", and
  548. project-type icons represent this type of file.  For example, a document
  549. produced by a word processor is a "project"; so is a spreadsheet which is
  550. produced by a spreadsheet program and a data base produced by a data base
  551. program.  A "project" is not a program and therefore cannot be executed.
  552. Because of this, Workbench must have a way to associate a project with a
  553. tool in order to be able to do something with the project.  The "Default
  554. Tool" parameter is one way* to establish this association.  If you place the
  555. name of your word processor into the "Default Tool" field of your document's
  556. project icon, when you double-click on the project icon Workbench will
  557. execute your word processor and give it the name of your project.  If your
  558. word processor supports Workbench it will load your document and allow you
  559. to edit it.  Note that in most situations it will be necessary to supply a
  560. full path name in the "Default Tool" field with the tool's name.  For
  561. example, you would probably use "Workbench:Utilities/Notepad" to specify the
  562. Notepad program as a "Default Tool".  Project icons also allow the
  563. specification of a "Stack Size" which is applied to the tool that gets
  564. executed when the project icon gets selected -- regardless of whether or not
  565. the "tool" has an icon of its own with a "Stack Size" specified.  
  566.     (*Another way to establish the association between a project and a tool
  567. is through the use of the extend-select feature of Workbench which is
  568. described below.)
  569.  
  570.     * Drawers:  The next most used icon type is the "drawer" type.  Drawer
  571. icons are fairly easy to understand, IF you already understand how a
  572. heirarchical directory structure works.  It is beyond the scope of this
  573. document to explain directory structures, so, assuming that you do
  574. understand them, drawer icons are used to represent drawers (also known as
  575. sub-directories) which are found in a directory structure.  Selecting a
  576. drawer icon causes Workbench to open a window representing the new directory
  577. and to read and display in the window all icons that are found in the new
  578. directory.  Drawer icons never execute programs and therefore they do not
  579. allow the "Default Tool" or "Stack Size" parameters.
  580.  
  581.     * Garbage (Trashcan):  Garbage icons are nearly identical to drawer
  582. icons.  The only difference is the special feature, "Empty Trash", as found
  583. in the Workbench menu.  Whenever a garbage icon is selected the "Empty
  584. Trash" menu item is enabled.  Selecting "Empty Trash" causes everything in
  585. the directory associated with the garbage icon to be deleted from disk.  A
  586. good example of a garbage icon is the "Trashcan" icon found on the Workbench
  587. disk.  Garbage icons are supposed to provide a mechanism by which to delete
  588. unwanted stuff from disks.  Files may be moved into the "trashcan" directory
  589. by dragging them into the open trashcan window or simply dropping them on
  590. the garbage icon.  The files are not actually deleted after this.  You can
  591. still get them back by double-clicking on the garbage icon, which, as with
  592. drawer icons, opens a window containing the contents of the drawer (in this
  593. case it is the garbage drawer) and dragging the files that you want to save
  594. out of the window to somewhere else.  To actually delete the files that you
  595. have moved into a garbage directory you must select the "Empty Trash" menu
  596. item.  Note that you can also delete files by selecting them and then
  597. selecting the "Discard" menu item.  As with drawer icons, garbage icons do
  598. not allow the "Default Tool" and "Stack Size" parameters.
  599.  
  600.     * Disks:  Disk icons are very closely related to drawer icons.  While
  601. drawer icons represent the sub-directories found in the directory structure
  602. of a specific volume, disk icons represent the volume itself and the root
  603. directory of its directory structure.  Disk icons are the ones which appear
  604. automatically on the Workbench screen when you insert a new disk in one of
  605. your drives.  When you double-click a disk icon Workbench opens a window and
  606. displays in that window all icons found in the root directory of the volume.
  607.     In addition to this double-click action, Workbench also supports a
  608. special feature for disk icons:  copying of volumes through icon dragging.
  609. If you drag a disk icon and drop it on another disk icon of compatible type,
  610. Workbench will copy the contents of the disk represented by the icon that
  611. you dragged, onto the disk represented by the icon that you dropped the other
  612. onto.  To do the actual copying, Workbench must execute a tool which is
  613. capable of copying the type of disk which is implicated in the operation.
  614. Workbench looks in the "Default Tool" field of the source disk to find the
  615. name of the copying program to use.  If no name appears in this field, the
  616. copy operation will fail.  Despite the fact that this operation will cause a
  617. program to be executed, disk icons do not use the "Stack Size" parameter.
  618.     Disk icons present some limitations and peculiarities which other types
  619. do not.  With all other icon types, the icon inherits its disk file name
  620. from the name of the object it represents, with ".info" appended to it.  For
  621. example, if you have a word processor called "QuickWrite", its tool-type
  622. icon will be called "QuickWrite.info" on disk.  Likewise, if QuickWrite
  623. creates a document called "TeaPricesInChina" and gives it a project-type
  624. icon, its icon will be called "TeaPricesInChina.info".  Also, drawer and
  625. garbage icons get their name from the drawer they represent.  This is not so
  626. of disk icons which are _always_ called "Disk.info" on disk.  Disk icons DO
  627. NOT inherit their disk file name from the volume name of the disk as one may
  628. expect.  This peculiarity creates a limitation for disk icons:  only one
  629. disk icon may exist for each volume.  In addition, the file "Disk.info" must
  630. be in the root directory of the volume.  The latter two limitations are of
  631. course very practical and should never cause any difficulties.  However, the
  632. former (fixed disk file name) does represent at least one minor problem for
  633. Doctor Icon.
  634.     As described earlier, Doctor Icon allows a start-up icon to be specified
  635. when it is run from Workbench.  Workbench's extended-select feature is used
  636. to select the start-up icon.  When selecting a disk icon in this fashion,
  637. Workbench does not pass the disk file name of the icon, but rather the same
  638. name which is displayed on the Workbench screen, the diskette's volume name.
  639. This is unlike all other icon types.  When this happens, Doctor Icon must
  640. attempt to find the volume and load the file called "Disk.info" from it.
  641. This normally works okay, however there may be some situations where this
  642. will not work properly and Doctor Icon will fail when it tries to load the
  643. start-up icon.  All is not lost though...  if this happens, you can still
  644. use the "Load Icon" command and the file requester to find the icon file and
  645. load and edit it, or run Doctor Icon from the CLI and specify its disk file
  646. name on the command line.
  647.     There is one other disk icon peculiarity which deserves to be mentioned
  648. here.  As a special feature of Workbench, when a disk is inserted which does
  649. not contain a file called "Disk.info" (the actual disk icon), Workbench uses
  650. a special default disk icon so that all of your disks can be manipulated
  651. from Workbench even if they do not have an icon assigned to them.  This
  652. special default disk icon that Workbench uses CANNOT be edited in Doctor
  653. Icon.  Doctor Icon can only edit icons which are stored on disk.
  654. Workbench's default icon is stored in the Kickstart ROM (or Kickstart Disk
  655. for you faithful Amiga 1000 owners).
  656.  
  657.     * Extend-Selection:  This is a feature supported by Workbench which
  658. allows you to select multiple icons at one time.  This is accomplished by
  659. pressing and holding either of the SHIFT keys on the keyboard while you
  660. click _once_ on each of the icons that you wish to select and finally
  661. _twice_ on the last icon that you wish to select.  Before beginning any
  662. extend-select procedure I recommend that you click once on the Workbench
  663. screen to unselect any icons that may already be (erroneously) selected.
  664. This will help you to avoid any mix-ups, some of which are potentially
  665. disasterous -- for example when deleting a batch of icons, if you do not
  666. take this precaution you may accidentally delete a file that you wanted.
  667.     There are many good uses for extend-selection.  For example, if you wish
  668. to "Snapshot" a whole batch of icons at once, simply use extend-selection to
  669. select all the icons that you wish to snapshot, and then select the
  670. "Snapshot" menu item.  The same procedure can be used to delete a whole
  671. batch of icons at once using the "Discard" menu item.  You can even use
  672. extend-select to copy or move a whole batch of icons at once.  One of the
  673. most common uses for extend-selection is when you want to pass one or more
  674. projects to a tool.  To do this, first click in the background to unselect
  675. any icons that you do not want included, press and hold either of the SHIFT
  676. keys, click on each of the project icons that you wish to use and finally,
  677. _double_click_ on the tool icon while still holding the SHIFT key.  The tool
  678. will be executed and passed all of the projects that you have selected.  If
  679. your program supports Workbench projects it should load the specified
  680. project(s).  Some programs may support Workbench projects but may not
  681. support multiple projects.  See your application program's documentation to
  682. find this out.  Of course, it should also be safe to just try it -- if it
  683. doesn't work then the program most likely doesn't support it.
  684.  
  685.     * Tool Types:  All of the icon types that Workbench supports allow "Tool
  686. Types" to be specified.  Tool Types are parameters which can be assigned to
  687. an icon to identify certain characteristics of the object that the icon
  688. represents.  Each individual tool type is a free-form text string --
  689. Workbench does not impose any limitations on the contents of a tool type.
  690. However, the use of one specific form is encouraged.  This one form looks
  691. like this:
  692.                         OPTIONNAME=OPTION|ALTERNATE
  693. where "OPTIONNAME" is a keyword such as "FILETYPE", and "OPTION" and
  694. "ALTERNATE" are values such as "ILBM" and "TEXT".  The equal sign ("=") is
  695. used to seperate OPTIONNAME from a list of OPTIONs and the vertical bar
  696. character ("|") is used to seperate OPTIONs.  There can be many OPTIONs to
  697. each OPTIONNAME, each seperated from the rest by a vertical bar character.
  698. When a list of multiple OPTIONs is provided it signifies that OPTIONNAME has
  699. multiple values or alternate values each of which appears in the list.  Here
  700. is an example of the usefulness of tool types:  remember our fictional word
  701. processor called "QuickWrite"?  Well let's assume now that it can handle
  702. both text files and IFF picture files.  In Workbench lingo, the "QuickWrite"
  703. tool can handle multiple project types.  In order to distinguish between the
  704. two types of projects that our tool uses, we use a tool type called
  705. "FILETYPE".  When a text file is saved, the following tool type is used:
  706. "FILETYPE=TEXT".  Likewise, when an IFF picture file is saved the following
  707. tool type is used:  "FILETYPE=ILBM".  Note that we would never use
  708. "FILETYPE=TEXT|ILBM" with this example because the two types are mutually
  709. exclusive.  In other situations however, specifying multiple values may be
  710. legal and extremely important.
  711.  
  712.  
  713. « Limitations »
  714.  
  715.     Doctor Icon was written in such a manner as to avoid artificial
  716. limitations whenever and wherever possible.  In fact there is only one
  717. limitation in the program which I consider to be a _real_ artificial
  718. limitation, and that is the limitation of 50 tool types.  Of course,
  719. realistically, 50 tool types should be far more than one will ever need.
  720. There are a few other limitations however that should be mentioned.
  721.     Generally, Doctor Icon does not allow anything which is not considered
  722. officially supported under version 1.3 of the operating system and of
  723. Workbench.  Most notably, is the number of colors allowed in icon imagery.
  724.     The current version of Workbench uses a two bit-plane screen for four
  725. colors.  This is a fixed limitation in the current version of Workbench.
  726. Even though there are 'hacks' that allow Workbench to use more or less than
  727. two bitplanes, and even though there are other programs which allow the
  728. creation and editing of icons which use images that contain more or less
  729. than four colors, Doctor Icon does not allow this.  I chose to create a
  730. program which conforms to the current limitations of the operating system
  731. when I wrote Doctor Icon and that is why these things are not supported by
  732. the program.  Whenever Doctor Icon imports an image, if the image is not
  733. already made-up of two bit-planes the image is either padded or stripped to
  734. make it conform to the two bit-plane limitation.
  735.     As far as I know, Workbench 1.3 does not impose any limitations on the
  736. size of images used for icons, therefore, neither does Doctor Icon.  This
  737. means that you can actually import a full sized IFF picture into Doctor Icon
  738. and save the icon sucessfully.  Workbench will even display it, although you
  739. will never see the whole image at once.  Doctor Icon's preview feature
  740. however, will not display icons possessing images which will not fit in the
  741. maximum size of the preview window, which in turn must fit on a 640 by 200
  742. screen.  If an image is too large to be previewed, Doctor Icon will inform
  743. you with an error message when you try to preview it.
  744.  
  745.  
  746. « Miscellaneous »
  747.  
  748.     As mentioned earlier, documentation for the file requester is in a
  749. seperate file -- this is because of its copyright status.
  750.     During the execution of Doctor Icon, you will undoubtably meet-up with
  751. Doctor Icon's message window.  The message window may contain either one or
  752. two buttons.  When it contains only one button it is only meant to inform
  753. you of a condition or the result of some operation.  You must reply to the
  754. message window to make it go away and continue using the program.  To reply
  755. to you may either click on the "Okay" button or press any key on the
  756. keyboard.  When the message window contains two buttons it is trying to ask
  757. you a question.  You must answer either by clicking on the appropriate
  758. button or by pressing one of the following keys on the keyboard:  "Y" or
  759. RETURN for an affirmative answer; "N" or ESC for a negative answer.
  760.  
  761.  
  762. « Disclaimers »
  763.  
  764.     Doctor Icon Version 1.0 is copyright 1990 by Ray Lambert, all rights
  765. reserved.  The author assumes no responsibility for any use or misuse of
  766. this program.  The author makes no warranties either implied or stated.
  767.  
  768.     Doctor Icon is freely-distributable, COPYWRITED software.
  769.  
  770.     If you have questions, complaints, suggestions, propositions, etc., you
  771. may contact me at the following places:
  772.  
  773. BIX:          AnalogKid
  774.  
  775. PLink:        Analog*Kid
  776.  
  777. U.S. Snail:   Ray Lambert
  778.               PO Box 1253
  779.               Westport, Massachusetts  02790
  780.  
  781. Phone:        (508) 677-9217
  782.